//
//  main.m
//  08-类的扩展 Categroy
//
//  Created by 韩旭 on 16/7/13.
//  Copyright © 2016年 基础. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "buyPersoner.h"
#import "NSString+NSString.h"
#import "NSObject+SayHello.h"
#import "Student.h"
#import "Dog.h"
int main(int argc, const char * argv[]) {
    @autoreleasepool {
//    类的扩展的方式
//        1. Category（类别、类目、分类）
//        1> Categroy 的创建
//        通过Objective - C File创建
//        会产生两个文件.h / .m
//        文件名会以 类+Categroy名
// 相对应文件中添加需要添加方法
//        引入到对应的使用的位置
        
        NSObject *objc = [[NSObject alloc] init];
        [objc sayHello];
//        联系： 为NSString类扩展一个新的方法, 要求后去字符串的首字母并且将首字母大写 
        NSString *string = @"sfsdfsdf";
        NSString *str = [string setNSString];
        NSLog(@"%@", str);
        
        
//  2. Extension
#pragma mark - 延展, 一般定义在。m中 , 其中声明一些死哦与的属性/ 方法
#if 1
        {
//            2 Extension
//      保持。h中的整洁
            Dog *dog = [[Dog alloc] init];
            [dog getDogLife];
            
//            3. 代理delegate设计模式
//            举例：海外代购
//            委托方
            Student *stu = [[Student alloc] init];
//            代购
            buyPersoner *buy = [[buyPersoner alloc] init];
            
//          6. 设置代理人
            stu.delegate = buy;
            [stu seeWeChat];
        }
#endif
    }
    return 0;
}
